/************************************************************************

								Heroes IV
					  Copyright 2001, The 3DO Company

	------------------------------------------------------------------
  						 combat_ai_move_action.h

	$Header: $

	$NoKeywords: $

 ************************************************************************/

#if !defined( COMBAT_AI_MOVE_ACTION_H_INCLUDED )
#define COMBAT_AI_MOVE_ACTION_H_INCLUDED

#if _MSC_VER > 1000
#pragma once
#endif // _MSC_VER > 1000

#include "abstract_combat_ai_action.h"
#include "map_point.h"

// A representation of the "move" action (move w/o attacking)
class t_combat_ai_move_action : public t_abstract_combat_ai_action
{
	public:
		t_combat_ai_move_action(t_battlefield&	battlefield,
								t_map_point_2d	point,
								double			weight );


		t_map_point_2d get_point(void) const;

		virtual void weigh_action(t_combat_ai const& owner);
		virtual void perform_action(void);

		static void perform_move(t_battlefield& battlefield, t_map_point_2d point);

	private:
		t_map_point_2d m_point; // Move-to point
};

inline 
t_combat_ai_move_action::t_combat_ai_move_action( t_battlefield&	battlefield,
												  t_map_point_2d	point, 
												  double			weight)
	: t_abstract_combat_ai_action(battlefield, false, weight), m_point(point)
{

}

inline
t_map_point_2d t_combat_ai_move_action::get_point(void) const
{
	return m_point;
}

void generate_move_actions( t_combat_ai& combat_ai );


#endif // COMBAT_AI_MOVE_ACTION_H_INCLUDED
